﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EntitiesLayer.Entities;
using BusinnesLayer.LogicBusiness;


namespace ClinicaSanPablo
{
    public partial class MostrarQRRespuesta : System.Web.UI.Page
    {
        private System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        private QuejaReclamobl pl = new QuejaReclamobl();
        protected void Page_Load(object sender, EventArgs e)
        {

            int page = Convert.ToInt32(Request.QueryString["page"]);
            int limit = Convert.ToInt32(Request.QueryString["rows"]);
            string sidx = Request.QueryString["sidx"].ToString();
            string sord = Request.QueryString["sord"].ToString();

            string CodQRRespuesta = Request.QueryString["CodQRRespuesta"] ?? "";

            string datos = BuscarQRRespuesta(sidx, sord, page, limit, CodQRRespuesta);
            Response.ContentType = "application/json";
            Response.Write(datos);
            Response.End();

        }

        public string BuscarQRRespuesta(string sidx, string sord, int page, int rows, string CodReclamoResp)
        {
            List<SeguimientoqrRespuesta> list = pl.MostrarQRRespuesta(CodReclamoResp);

            List<object> lstFilasAfilas = new List<object>();

            if (list.Count > 0) 
            {
                foreach (var reclamo in list)
                {
                    var filaAfila = new
                    {
                        cell = new string[]
                        {
                            reclamo.ISQR_ID_RESPUESTA.ToString(),
                            reclamo.Vest_Nombreestado,
                            reclamo.Responsable,
                            reclamo.DSQR_FECHA_RESPUESTA.ToShortDateString(),
                            reclamo.VSQR_DESC_ACCIONES,
                            reclamo.VSQR_DESC_RESULTADO,
                            reclamo.VGEN_COD_MOT_GEN,
                            reclamo.VESP_COD_MOT_ESP,
                        }
                    };
                    lstFilasAfilas.Add(filaAfila);
                }

                int totalPag = (int)Math.Ceiling((decimal)rows / (decimal)list.Count);
                var data = new
                {
                    total = totalPag,
                    // Total de páginas
                    page = page,
                    // Página actual
                    records = list.Count,
                    // Total de registros (obtenido del modelo)
                    rows = lstFilasAfilas
                };
                return jsonSerializer.Serialize(data);
            }
            else
            {
                var data = new
                {
                    total = 0,
                    // Total de páginas
                    page = 1,
                    // Página actual
                    records = 0,
                    // Total de registros (obtenido del modelo)
                    rows = ""
                };
                return jsonSerializer.Serialize(data);
            }
        } 
    }
}